class Widget
{
public:
   Widget* GetInstance()
   {
      return &_instance;
   }

private:
   Widget() {}
   Widget(const Widget&) = delete;
   Widget operator=(const Widget&) = delete;

private:
   static Widget _instance;
};
